package com.kinglone.back.module.dao;

import java.util.List;

import com.kinglone.back.module.model.Module;
import com.kinglone.back.permission.model.Permission;

public interface ModuleMapper {

	/**
	 * 异步加载所有模块
	 * @return
	 */
	public List<Module> findAllModule();

	/**
	 * 根据父id查询子模块
	 * @param id
	 * @return
	 */
	public List<Module> getModulesByParent(String id);

	/**
	 * 保存子模块
	 * @param permission
	 */
	public void moduleSave(Module module);

	/**
	 * 删除模块
	 * @param id
	 */
	public void moduleDel(String id);

	/**
	 * 根据用户id获取二级模块
	 * @param id
	 * @return
	 */
	public List<String> findOperasModules(String userId);

	/**
	 * 根据一级模块id获取模块信息
	 * @param fiCode
	 * @return
	 */
	public Module getFirstModuleByFiCode(String fiCode);

	//根据pid获取最大的子id
	public String findMaxSidByPid(String pid);
	/**
	 * 根据id查询模块信息
	 * @param id
	 * @return
	 */
	public Module findModuleById(String id);
	//修改模块
	public void update(Module module);

}
